package dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import model.TipoQuartoModel;

/**
 *
 * @author WELISSON
 */
public class TipoQuartoDAO extends GenericDAO{
    
    public void salvar(TipoQuartoModel tipo) throws SQLException {
        String insert = "INSERT INTO tipo_quartos(codigo, descricao) "
                + "VALUES(?,?)";
        
        save(insert, tipo.getCodigo(), tipo.getDescricao());
    }
    
    public int salvarRetornarId(TipoQuartoModel tipo) throws SQLException {
        String insert = "INSERT INTO tipo_quartos(codigo, descricao) "
                + "VALUES(?,?)";
        return saveReturnId(insert, tipo.getCodigo(), tipo.getDescricao());
    }
 
    public void alterar(TipoQuartoModel tipo) throws SQLException {
        String update = "UPDATE tipo_quartos " +
                "SET codigo = ?, descricao = ? " +
                "WHERE matricula = ?";
        update(update, tipo.getCodigo(), tipo.getDescricao());
    }
 
    public void excluir(String id) throws SQLException {
        String delete = "DELETE FROM tipo_quartos WHERE codigo = ?";
        delete(delete, id);
    }
    public List<TipoQuartoModel> findTipoQuarto() throws SQLException{
        
        List<TipoQuartoModel> tipos = new ArrayList<TipoQuartoModel>();
 
        String select = "SELECT * FROM tipo_quartos";
 
        PreparedStatement stmt = 
            getConn().prepareStatement(select);
             
        ResultSet rs = stmt.executeQuery();
 
        while (rs.next()) {
            TipoQuartoModel tipo = new TipoQuartoModel();
            tipo.setCodigo(rs.getString("codigo"));
            tipo.setDescricao(rs.getString("descricao"));
            
            tipos.add(tipo);
        }
 
        rs.close();
        stmt.close();
 
        return tipos;
    }
 
    public List<TipoQuartoModel> findByArgument(String argumento, String pesquisa) throws SQLException{
        
        List<TipoQuartoModel> tipos = new ArrayList<TipoQuartoModel>();
        
        String select = "SELECT * FROM tipo_quartos WHERE ? = ?";
        PreparedStatement stmt = 
            getConn().prepareStatement(select);
             
        stmt.setString(1, argumento);
        stmt.setString(2, pesquisa);
        ResultSet rs = stmt.executeQuery();
 
        while (rs.next()) {
            TipoQuartoModel tipo = new TipoQuartoModel();
            tipo.setCodigo(rs.getString("codigo"));
            tipo.setDescricao(rs.getString("descricao"));
        }
 
        rs.close();
        stmt.close();
 
        return tipos;
    }
    
}
